Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[release/6.0] Add a --aot-lazy-assembly-load command line option to load assemblies #67103

Merged
merged 1 commit into from
Apr 13, 2022

Conversation

lambdageek
Copy link
Member

Backport of #67024, related to #66361


Customer Impact

This PR aims to improve startup performance for MAUI apps using profiled AOT on Android and iOS.
It adds a new option to the Mono runtime to load assemblies referenced by AOT image lazily when they are first needed rather than eagerly when the AOT image is first loaded.

Testing

Manual testing

Risk

Low. The new option is not on by default (although the .NET MAUI team may choose to turn it on by default in certain scenarios). With the option off, we use the old AOT loading algorithm that loads all referenced assemblies eagerly.

dotnet#67024)

* Add a --aot-lazy-assembly-load command line option to load assemblies referenced by AOT images lazily.

Note that this requires the assemblies used at AOT time to exactly match
the assemblies loaded at runtime, otherwise the runtime will abort
when it loads the mismatching reference.

* Handle the options added by options.h in mono_jit_parse_options ().
@ghost ghost assigned lambdageek Mar 24, 2022
@lambdageek lambdageek added this to the 6.0.x milestone Mar 24, 2022
@lambdageek lambdageek added the Servicing-consider Issue for next servicing release review label Mar 24, 2022
@lambdageek lambdageek removed the request for review from imhameed March 24, 2022 20:14
@leecow leecow added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Mar 29, 2022
@leecow leecow modified the milestones: 6.0.x, 6.0.5 Mar 29, 2022
@lambdageek
Copy link
Member Author

Failures are unrelated

@carlossanlop carlossanlop merged commit f016381 into dotnet:release/6.0 Apr 13, 2022
@ghost ghost locked as resolved and limited conversation to collaborators May 13, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-Codegen-AOT-mono Servicing-approved Approved for servicing release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants